Inferring Formal Properties of Production Key-Value Stores
نویسندگان
چکیده
Production distributed systems are challenging to formally verify, in particular when they are based on distributed protocols that are not rigorously described or fully understood. In this paper, we derive models and properties for two core distributed protocols used in eventually consistent production key-value stores such as Riak and Cassandra. We propose a novel modeling called certified program models, where complete distributed systems are captured as programs written in traditional systems languages such as concurrent C. Specifically, we model the read-repair and hinted-handoff recovery protocols as concurrent C programs, test them for conformance with real systems, and then verify that they guarantee eventual consistency, modeling precisely the specification as well as the failure assumptions under which the results hold.
منابع مشابه
Quantitative Analysis of Consistency in NoSQL Key-Value Stores
The promise of high scalability and availability has prompted many companies to replace traditional relational database management systems (RDBMS) with NoSQL key-value stores. This comes at the cost of relaxed consistency guarantees: key-value stores only guarantee eventual consistency in principle. In practice, however, many key-value stores seem to offer stronger consistency. Quantifying how ...
متن کاملFormal Modeling and Analysis of Cassandra in Maude
Distributed key-value stores are quickly becoming a key component of cloud computing systems. In order to improve read/write latency, distributed key-value stores offer weak notions of consistency to clients by using many complex design decisions. However, it is challenging to formally analyze consistency behaviors of such systems, both because there are few formal models, and because different...
متن کاملAutomatically Inferring Temporal Properties
3. PROBLEM STATAMENT Temporal properties specify constraints on the order in which a program’s state changes. Satisfying certain temporal properties is essential for a program to be correct. Many formal verification tools have been developed to check certain temporal properties. Researchers have demonstrated the practical value of these tools in some domains (e.g. verifying the safety of device...
متن کاملMega-KV: A Case for GPUs to Maximize the Throughput of In-Memory Key-Value Stores
In-memory key-value stores play a critical role in data processing to provide high throughput and low latency data accesses. In-memory key-value stores have several unique properties that include (1) data intensive operations demanding high memory bandwidth for fast data accesses, (2) high data parallelism and simple computing operations demanding many slim parallel computing units, and (3) a l...
متن کاملHyperDex: A Distributed, Searchable Key-Value Store for Cloud Computing
Distributed key-value stores are now a standard component of high-performance web services and cloud computing applications. While key-value stores offer significant performance and scalability advantages compared to traditional databases, they achieve these properties through a restricted API that limits object retrieval— an object can only be retrieved by the (primary and only) key under whic...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1712.10056 شماره
صفحات -
تاریخ انتشار 2017